#ifndef __SERVO_C__
#define __SERVO_C__

#include "main.h"
#include "tim.h"
#include "cam.h"
#include "pid.h"
#include "stdio.h"

// // 0~180 下方接口
// #define servox_tim TIM4
// #define servox_channel TIM_CHANNEL_1
// #define servox_gpio GPIOD
// #define servox_pin GPIO_PIN_12


// // 0~270 上方接口
// #define servoy_tim TIM3
// #define servoy_channel TIM_CHANNEL_1
// #define servoy_gpio GPIOA
// #define servoy_pin GPIO_PIN_6
typedef struct
{
    int32_t x_compare_delta;
    int32_t y_compare_delta;
    int32_t x_compare;
    int32_t y_compare;
} PID_x_y_tar;
extern PID_x_y_tar PID_servo;

void servo_init(PID_x_y_tar * PID_x_y_tar);
float set_servox_angle(float angle);
float set_servoy_angle(float angle);
void find_face_proc(uint16_t time);
void x_set_compare(uint32_t compare);
void y_set_compare(uint32_t compare);
void servo1_init(void);
void servo1_ctl(uint8_t cmpval);
void servo_proc(void);
#endif



